package com.feiyun.service;

import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.feiyun.common.PageParam;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

import com.baomidou.mybatisplus.extension.service.IService;
import com.feiyun.model.entity.UploadRecordInfo;
import com.feiyun.model.entity.UserPhoto;

@Service
public interface IFileService extends IService<UserPhoto> {
    /**
     * 文件上传
     *
     * @param userPhotoEntity 用户照片实体
     */
    List<UserPhoto> uploadPhotos(UserPhoto userPhotoEntity, List<MultipartFile> files);

    /**
     * 照片批量删除
     *
     * @param userPhotoIds 照片ID List
     */
    void deletePhotos(List<Integer> userPhotoIds);

    /**
     * 查询用户所有照片
     *
     * @param userId 用户ID
     * @return List<UserPhoto>
     */
    List<UserPhoto> selectUserPhoto(Integer userId);

    /**
     * 查询用户所有照片
     *
     * @param userPhotoEntity 用户照片实体
     * @return List<UserPhoto>
     */
    List<UserPhoto> selectUserPhotoByCondition(UserPhoto userPhotoEntity);


    /**
     * excle客户信息上传
     *
     * @param file
     */
    Boolean excleUpload(MultipartFile file);

    /**
     * excle上传记录列表
     *
     * @param
     */
    List<UploadRecordInfo> finduploadInfoList();

    Page<UploadRecordInfo> finduploadInfo(PageParam<UploadRecordInfo> userPageParam);
    /**
     * 通过客户信息
     *
     * @param uploadRecordInfo
     */
    void updateUploadInfo(UploadRecordInfo uploadRecordInfo);

    /**
     * 模板下载
     *
     * @param request
     * @param response
     */
    void downTemplate(HttpServletRequest request, HttpServletResponse response);

    /**
     * 删除上传记录
     *
     * @param id
     */
    void deleteUploadRecordById(String id);

    void deletePictureById(String id);
}
